package com.keba.lamp.complaint.vo.result;

import com.keba.basic.annotation.echo.Echo;
import com.keba.lamp.model.constant.EchoApi;
import com.keba.lamp.model.constant.EchoDictType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
public class OnlineCaseResultVO {
    @Schema(description = "案件id")
    private Long id;
    /**
     * 案件名称
     */
    @Schema(description = "案件名称")
    private String caseName;

    /**
     * 案件类别;[01-贷款 99-其它]@Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.CASE_TYPE)
     */
    @Schema(description = "案件类别")
    @Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.CASE_TYPE)
    private String caseType;

    /**
     * 业务类型[01-起诉状，02-答辩状 ]@Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.BIZ_TYPE)
     */
    @Schema(description = "业务类型[01-起诉状，02-答辩状 ]@Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.BIZ_TYPE)")
    @Echo(api = EchoApi.DICTIONARY_ITEM_FEIGN_CLASS, dictType = EchoDictType.System.BIZ_TYPE)
    private String bizType;
    /**
     * 法院名称
     */
    @Schema(description = "法院名称")
    private String courtName;
    /**
     * 标的金额
     */
    @Schema(description = "标的金额")
    private BigDecimal caseAmount;

    @Schema(description = "原告")
    private List<PlaintffResultVO> plaintffResultVOList;

    @Schema(description = "被告")
    private List<DefendantResultVO> defendantResultVOList;

    /**
     * 起诉状
     */
    @Schema(description = "起诉状")
    private List<CaseMaterialResultVO> complaintMaterials;

    /**
     * 委托手续和身份材料
     */
    @Schema(description = "委托手续和身份材料")
    private List<CaseMaterialResultVO> legalIdentityMaterials;

    @Schema(description = "原告身份证")
    private List<CaseMaterialResultVO> plaintffMaterials;

    @Schema(description = "被告身份证")
    private List<CaseMaterialResultVO> defendantMaterials;

    @Schema(description = "证据列表")
    private List<EvidenceResultVO> evidenceResultVOList;

    /**
     * 送达地址确认书
     */
    @Schema(description = "送达地址确认书")
    private List<CaseMaterialResultVO> addressConfirmMaterials;

    /**
     * 银行结算确认书
     */
    @Schema(description = "银行结算确认书")
    private List<CaseMaterialResultVO> bankSettlementMaterials;
    /**
     * 其他材料
     */
    @Schema(description = "其他材料")
    private List<CaseMaterialResultVO> otherMaterials;
}
